#pragma once
#include "GSE_Sql.h"
namespace GSE
{
	class CSql : public ISql
	{
	protected:
		typedef std::map<ISqlConnection*,std::pair<uint,boost::function<bool ()>>> ConnectionList;

	public:
		virtual ISqlConnection * CreateConnection(BACKEND_TYPE _Type);
		virtual void DestroyConnection(ISqlConnection * );
		virtual uint Run();


	public:
		static CSql * m_pInstance;


	private:
		ConnectionList mConnetions;
	};
}